System Monitor
Basic Requirements
| Criteria | Meet Specification |
|---|---|
|
The student will be able to organize code in a project structure. |
The program must build an executable system monitor. |
|
The student will be able to write warning-free code. |
The program must build without generating compiler warnings. |
|
The student will be able to create a working project. |
The system monitor must run continuously without error, until the user terminates the program. |
|
The student will be able to organize code using object oriented programming principles. |
The project should be organized into appropriate classes. |
System Requirements
| Criteria | Meet Specification |
|---|---|
|
The student will be able to extract and display basic data about the system. |
The system monitor program should list at least the operating system, kernel version, total number of processes, number of running processes, and up time. |
|
The student will be able to use composition. |
The System class should be composed of at least one other class. |
Processor Requirements
| Criteria | Meet Specification |
|---|---|
|
The student will be able to read and display data about the CPU. |
The system monitor should display the CPU utilization. |
Process Requirements
| Criteria | Meet Specification |
|---|---|
|
The student will be able to read and display the processes on the system. |
The system monitor should display a partial list of processes running on the system. |
|
The student will be able to display data about individual processes. |
The system monitor should display the PID, user, CPU utilization, memory utilization, up time, and command for each process. |
Tips to make your project standout:
Calculate CPU utilization dynamically, based on recent utilization
Sort processes based on CPU or memory utilization
Make the display interactive
Restructure the program to use abstract classes (interfaces) and pure virtual functions
Port the program to another operating system